PHLEGM v8 - Checkpoint 15 - SuperPET MOS-6702 support CFG script compilation
Timestamp: 2026-10-07 17:37:48 America/Phoenix

Observed from PHLEGM-Console-2026-1007-1731-3467.log:
* Same-version v8 machine definitions for commodore/SuperPET-9000 synchronized successfully.
* The 6809 chipset compiled and five support-chip instances loaded.
* SuperPET load then failed on DONGLE.MIRROR0 write operation IF_TEMP_BIT_SET.
* MACHINE was consequently left in CPU-only mode, firmware slots were zero,
  display did not engage, and the PC showed $0000. The ROM fetch was never reached.

Change:
* src/lib/device-code.bi: compile IF_TEMP_BIT_SET, IF_TEMP_BIT_CLEAR, ELSE, ENDIF,
  SHL_CONST, SHR_CONST in generic CFG support-device scripts. Resolve nested IF/ELSE
  skip targets at definition compilation; execute by numeric branch, no runtime parsing.
* src/lib/firmware.bi: correctly distinguish an attempted auto-fetch failing from
  networking being disabled when ROM images are missing.
* src/lib/monitor.bi: show explicit MACHINE LOAD FAILED diagnostic on aborted load.
* tools/Validate-SuperPET-Dongle-Checkpoint-15.py: static check of all CFG support
  scripts, balanced conditional directives, ROM scope, modified file newlines.

Testing:
* Static checkpoint 14 and 15 validators pass.
* Native FreeBASIC compiler not found in working environment; no native link/runtime test.
* External copyrighted ROMs are not bundled. Boot/display depend on official
  firmware being successfully downloaded and CRC verified on the user's machine.
* 6809/6502 runtime switch remains unverified, and NES full PPU/APU 60 FPS is
  not claimed to have been fixed by this checkpoint.

Hands-on verification:
* Recompile; opt in networking; select commodore/SuperPET-9000.
* Confirm DONGLE support chip loaded, firmware slots 12/12 or explicit missing
  slots, display 0 appears, reset vector and nonzero PC if ROMs available.
* If ROM fetch fails, preserve full download/CRC messages for follow-up.
